﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;

namespace QLHPHP
{
    public partial class NhapSinhVienControl : UserControl
    {
        DanhSachSVControl _Muon = new DanhSachSVControl();
        public NhapSinhVienControl()
        {
            InitializeComponent();
        }

        private AppCommands _Commands;
        /// <summary>
        /// Gets or sets the commands associated with the control.
        /// </summary>
        public AppCommands Commands
        {
            get { return _Commands; }
            set
            {
                if (value != _Commands)
                {
                    AppCommands oldValue = _Commands;
                    _Commands = value;
                    OnCommandsChanged(oldValue, value);
                }
            }
        }
        /// <summary>
        /// Called when Commands property has changed.
        /// </summary>
        /// <param name="oldValue">Old property value</param>
        /// <param name="newValue">New property value</param>
        protected virtual void OnCommandsChanged(AppCommands oldValue, AppCommands newValue)
        {
            if (newValue != null)
            {
                
                cancelButton.Command = newValue.NhapSinhVienCommands.Cancel;
            }
            else
            {
                
                cancelButton.Command = null;
            }
        }

        //Load danh sach huyen len cbbMaHuyen
        private void LoadDSHuyenInCbb()
        {
            try
            {
                string matinh = cbbTinh.SelectedValue.ToString();
                cbbMaHuyen.DataSource = Huyen.LayDSHuyenTheoMaTinh(matinh);
                cbbMaHuyen.ValueMember = "MaHuyen";
                cbbMaHuyen.DisplayMember = "TenHuyen";
            }
            catch
            {
                string mt = cbbTinh.SelectedValue.ToString();
                ToastNotification.Show(this,"Lỗi"+mt+"");
            }
        }

        //Load danh sach tinh len cbbTinh
        private void LoadDSTinhInCbb()
        {
            try
            {

                cbbTinh.DataSource = Huyen.LayDSTinh();
                cbbTinh.ValueMember = "MaTinh";
                cbbTinh.DisplayMember = "TenTinh";
            }
            catch
            {
                ToastNotification.Show(this, "Không thể load danh sách tỉnh");
            }
        }
        //Load danh sach doi tuong len cbbMaDoiTuong
        private void LoadDSDoiTuongInCbb()
        {
            try
            {
                cbbMaDoiTuong.DataSource = DoiTuong.LayDoiTuong();
                cbbMaDoiTuong.ValueMember = "MaDoiTuong";
                cbbMaDoiTuong.DisplayMember = "TenDoiTuong";
            }
            catch
            {
                MessageBox.Show("Có lỗi trong quá trình lấy dữ liệu, chương trình sẽ thoát!", "Lỗi",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
            }
        }

        //Load danh sach nganh len cbbMaNganh
        private void LoadDSNganhInCbb()
        {
            try
            {
                cbbMaNganh.DataSource = Nganh.LayTatCaNganh();
                cbbMaNganh.ValueMember = "MaNganh";
                cbbMaNganh.DisplayMember = "TenNganh";
            }
            catch
            {
                MessageBox.Show("Có lỗi trong quá trình lấy dữ liệu, chương trình sẽ thoát!", "Lỗi",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
            }
        }
        private void LuuSinhVien_Click(object sender, EventArgs e)
        {
            if (txtHoTen.Text == "")
            {
                ToastNotification.Show(this, "Chưa nhập họ tên sinh viên");
            }
            else if (dtNgaySinh.Text == "")
            {
                ToastNotification.Show(this, "Chưa chọn ngày sinh");
            }
            else if (cbbGioiTinh.Text == "")
            {
                ToastNotification.Show(this, "Chưa chọn giới tính");
            }
            else if (cbbMaNganh.Text == "")
            {
                ToastNotification.Show(this, "Chưa chọn ngành");
            }
            else
            {
                try
                {
                    SinhVien.ThemSinhVien(txtHoTen.Text, dtNgaySinh.Value, cbbGioiTinh.Text, cbbMaHuyen.SelectedValue.ToString(),
                                            cbbMaDoiTuong.SelectedValue.ToString(), cbbMaNganh.SelectedValue.ToString(), txtDienThoai.Text, txtDiaChi.Text,
                                            txtEmail.Text);
                    _Muon.LoadDSSinhVien();
                    ToastNotification.Show(this, "Đã thêm thành công!");
                }
                catch
                {
                    ToastNotification.Show(this, "Lỗi!");
                }
            }

        }

        private void NhapSinhVienControl_Load(object sender, EventArgs e)
        {
            LoadDSTinhInCbb();
            LoadDSDoiTuongInCbb();
            LoadDSNganhInCbb();
            LoadDSHuyenInCbb();          
        }

        private void btnReset_Click(object sender, EventArgs e)
        {
            txtHoTen.Text = "";
            dtNgaySinh.Text = "";
            cbbGioiTinh.Text = "";
            cbbMaHuyen.Text = "";
            cbbMaDoiTuong.Text = "";
            cbbMaNganh.Text = "";
            txtDienThoai.Text = "";
            txtDiaChi.Text = "";
            txtEmail.Text = "";
        }

        private void cbbTinh_SelectedValueChanged(object sender, EventArgs e)
        {
            LoadDSHuyenInCbb();
        }

        
    }
}
